package yi.wuhenbot.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import yi.wuhenbot.entity.OrgUser;

/**
 * 用户服务映射器
 * @author wuhen
 */
@Mapper
public interface OrgUserServiceMapper {
    /**
     * 插入用户
     */
    void insertUser(
            @Param("userid") String userid,
            @Param("registration_time") String registration_time,
            @Param("sign_in_time") String sign_in_time
    );

    /**
     * 判断用户是否存在
     */
    boolean isUserExist(@Param("userid") String userid);

    /**
     * 修改用户昵称
     */
    void updateNickname(
            @Param("userid") String userid,
            @Param("nickname") String nickname
    );

    /**
     * 设置签到积分
     */
    void setPoints1(
            @Param("userid") String userid,
            @Param("points1") int points1,
            @Param("sign_in_time") String sign_in_time
    );
    void setPoint1(
            @Param("userid") String userid,
            @Param("points1") int points1
    );

    /**
     * 判断用户是否签到
     */
    boolean isSignInToday(
            @Param("userid") String userid,
            @Param("sign_in_time") String sign_in_time
    );

    /**
     * 获取用户签到积分
     */
    int getPoints1(@Param("userid") String userid);

    /**
     * 获取用户信息
     */
    OrgUser getUserInfo(@Param("userOpenid") String userOpenid);
    /**
     * 获取用户连续对话状态
     * @param userOpenid 用户唯一标识
     * @return 连续对话状态
     */
    int getonline_status(@Param("userOpenid") String userOpenid);


     /**
     * 更新用户连续对话状态
     * @param userOpenid 用户唯一标识
     * @param online_status 连续对话状态
     */
    void updateonline_status(String userOpenid, int online_status);
    /**
     * 判断用户是否为管理员
     * @param userOpenid 用户唯一标识
     * @return 是否为管理员
     */
     boolean isAdmin(@Param("userOpenid") String userOpenid);
}